PUNO: Predictive Unicast and Notification towards Efficient Transactional Memory Execution
نویسندگان
چکیده
Hardware Transactional Memory (HTM) schemes usually piggyback onto the cache coherence protocol to detect data access conflicts between transactions. We identify an intrinsic mismatch between the coherence scheme and transaction execution which causes a sizable amount of unnecessary transaction aborts. This pathological behavior is called false aborting and increases the amount of wasted computation and on-chip communication, manifesting itself as a performance and energy pitfall in HTM designs. For the TM applications we examined, 41% of the transactional write requests incur false aborting. We propose Predictive Unicast and Notification (PUNO), a novel hardware mechanism to combat false aborting. PUNO reduces transaction aborts by 61% and network traffic by 32% in workloads representative of future TM applications. The improvement is achieved with a meager 0.41% area overhead.
منابع مشابه
System Challenges and Opportunities for Transactional Memory a Dissertation Submitted to the Department of Electrical Engineering and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
Recent trends in architecture have made chip multiprocessors (CMPs) increasingly common. CMPs provide programmers with an unprecedented opportunity for parallel execution. Nevertheless, the key factor limiting their potential is the complexity of parallel application development using primitives such as locks and condition variables. While transactional memory (TM) is a technique that helps wit...
متن کاملA Rule-Based Specification of Software Transactional Memory
Software Transactional Memory (STM) has the promise to avoid the common pitfalls of locks when writing thread-based concurrent programs. Many papers on the subject deal with low-level implementation details to support the efficient and concurrent execution of multiple transactions. We give a rule-based specification of Software Transactional Memory in terms of Constraint Handling Rules (CHR) wh...
متن کاملDebugging with Transactional Memory
Transactional programming promises to substantially simplify the development of correct, scalable, and efficient concurrent programs. Designs for supporting transactional programming using transactional memory implemented in hardware, software, and a mixture of the two have emerged recently. To our knowledge, nobody has yet addressed issues involved with debugging programs executed using transa...
متن کاملTowards a Fully Pessimistic STM Model
The designs of software transactional memory (STM) algorithms to date have been optimistic: transactions that run into inconsistencies abort and retry. The common view is that this optimistic approach gives significant performance benefits, and yet we know that it also results in complex programming, limitations on what can be executed within a transaction, and difficult debugging. This is a bu...
متن کاملFault-Tolerant Execution on COTS Multi-core Processors with Hardware Transactional Memory Support
The demand for fault-tolerant execution on high performance computer systems increases due to higher fault rates resulting from smaller structure sizes. As an alternative to hardware-based lockstep solutions, software-based fault-tolerance mechanisms can increase the reliability of multi-core commercial-of-the-shelf (COTS) CPUs while being cheaper and more flexible. This paper proposes a softwa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013